#
# OpenSSL/ssl/Makefile
#

DIR=	ssl
TOP=	..
CC=	cc
INCLUDES= -I$(TOP) -I../include
CFLAG=-g
MAKEFILE=	Makefile
AR=		ar r

CFLAGS= $(INCLUDES) $(CFLAG) $(SHARED_CFLAG)

GENERAL=Makefile README ssl-lib.com install.com

LIB=$(TOP)/libssl.a
SHARED_LIB= libssl$(SHLIB_EXT)
LIBSRC=	\
	pqueue.c \
	statem/statem_srvr.c statem/statem_clnt.c  s3_lib.c  s3_enc.c record/rec_layer_s3.c \
	statem/statem_lib.c s3_cbc.c s3_msg.c \
	methods.c   t1_lib.c  t1_enc.c t1_ext.c \
	d1_lib.c  record/rec_layer_d1.c d1_msg.c \
	statem/statem_dtls.c d1_srtp.c \
	ssl_lib.c ssl_cert.c ssl_sess.c \
	ssl_ciph.c ssl_stat.c ssl_rsa.c \
	ssl_asn1.c ssl_txt.c ssl_init.c ssl_conf.c  ssl_mcnf.c \
	bio_ssl.c ssl_err.c t1_reneg.c tls_srp.c t1_trce.c ssl_utst.c \
	record/ssl3_buffer.c record/ssl3_record.c record/dtls1_bitmap.c \
	statem/statem.c
LIBOBJ= \
	pqueue.o \
	statem/statem_srvr.o  statem/statem_clnt.o  s3_lib.o  s3_enc.o record/rec_layer_s3.o \
	statem/statem_lib.o s3_cbc.o s3_msg.o \
	methods.o   t1_lib.o  t1_enc.o t1_ext.o \
	d1_lib.o  record/rec_layer_d1.o d1_msg.o \
	statem/statem_dtls.o d1_srtp.o\
	ssl_lib.o ssl_cert.o ssl_sess.o \
	ssl_ciph.o ssl_stat.o ssl_rsa.o \
	ssl_asn1.o ssl_txt.o ssl_init.o ssl_conf.o ssl_mcnf.o \
	bio_ssl.o ssl_err.o t1_reneg.o tls_srp.o t1_trce.o ssl_utst.o \
	record/ssl3_buffer.o record/ssl3_record.o record/dtls1_bitmap.o \
	statem/statem.o

SRC= $(LIBSRC)

HEADER=	ssl_locl.h record/record_locl.h record/record.h statem/statem.h

ALL=	$(GENERAL) $(SRC) $(HEADER)

# BSD make and GNU make disagree on where output goes
.c.o:
	$(CC) $(CFLAGS) -c $< -o $@

top:
	(cd ..; $(MAKE) DIRS=$(DIR) all)

all:	shared

lib:	$(LIBOBJ)
	$(AR) $(LIB) $(LIBOBJ)
	$(RANLIB) $(LIB) || echo Never mind.
	@touch lib

shared: lib
	if [ -n "$(SHARED_LIBS)" ]; then \
		(cd ..; $(MAKE) $(SHARED_LIB)); \
	fi

depend:
	$(TOP)/util/domd $(CFLAG) $(INCLUDES) -- $(PROGS) $(LIBSRC)

clean:
	rm -f $(LIBOBJ) *.obj lib tags core .pure .nfs* *.old *.bak fluff
	rm -f record/*.obj record/lib record/retags record/core \
	record/.pure record/.nfs* record/*.old record/*.bak record/fluff
	rm -f statem/*.obj statem/lib statem/retags statem/core \
	statem/.pure statem/.nfs* statem/*.old statem/*.bak statem/fluff
	
# DO NOT DELETE THIS LINE -- make depend depends on it.
